package com.tmxk.xml;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import java.io.File;
import java.util.List;

/**
 *  Java和Person.xml文件进行操作
 */
public class XmlDemo02 {
    public static void main(String[] args) throws DocumentException {
        // 定义解析 simple.xml文件的 相对路径  src\main\resources\simple.xml
        String xmlPath = "src\\main\\resources\\simple.xml";
        // 创建解析xml文件解析器
        SAXReader reader = new SAXReader();
        // 通过SAXReader解析器读取xml文件
        Document doc = reader.read(new File(xmlPath));
        //先读取根节点
        Element rootElement = doc.getRootElement();
        // 读取根节点下所有的子节点
        List<Element> elementList = rootElement.elements();
        // 循环遍历 breakfast_menu 根节点下的第三个food节点
        Element foodEleThree = elementList.get(2);
        System.out.println("食物名称  \t\t\t\t\t    食物价格    \t \t       食物卡路里  \t\t  食物描述信息 ");

        // 方法:  foodEleThree.elements()  获取xml中food标签下的所有标签(节点)
//        List<Element> elements = foodEleThree.elements();
//        for (Element e : elements) {
//            System.out.print(e.getText() + "\t\t");
//        }
        // 方法 : foodEleThree.element("name") 获取xml文件中指定标签元素
        System.out.print(foodEleThree.element("name").getText() +"\t\t\t");
        System.out.print(foodEleThree.element("price").getText()+"\t\t\t\t");
        System.out.print(foodEleThree.element("calories").getText() + "\t\t");
        System.out.print(foodEleThree.element("description").getText());
    }
}
